1.深度遍历 DFS
类似于树的先根遍历
如图,上述图的深度遍历输出为ADCBE
给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始
class Graph
{
private:
int flag[N];//状态数组
int Vexnum;//图的顶点数量
int Matrix[N][N]; //邻接矩阵
void DFS(int v);
public:
Graph()
{
for(int i=0;i<N;i++)
flag[i]=0;
}
void DFStra();
void SetMatrix(int n,int p[N][N]);
}
void Graph::SetMatrix(int n,int p[N][N])//设置邻接矩阵
{
Vexnum=n;
for(int i=0;i<Vexnum;i++)
for(int j=0;j<Vexnum;j++)
{
Matrix[i][j]=p[i][j];